System and method for generating information regarding demographic composition of locations

ABSTRACT

The present invention is directed to systems and methods for generating information regarding demographic composition of a location using mobile devices associated with individuals at the location. A method of the present invention comprises receiving information indicating presence of one or more mobile devices associated with one or more individuals at a given location and identifying one or more attributes of the individuals. Information regarding demographic composition of the location is generated through use of the one or more attributes of the one or more individuals with which the one or more mobile devices are associated, wherein the one or more attributes may comprise one or more of age, relationship status, sex, sexual orientation, national origin, race, hobbies, occupation or religion.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.13/281,807, filed Oct. 26, 2011, the entire content and disclosure ofwhich is incorporated by reference.

BACKGROUND OF THE INVENTION

Individuals often wish to visit locations, such as commercialestablishments, based upon the expected demographic composition of theindividuals that frequent such locations. For example, young adultsintending to visit a restaurant or bar often obtain recommendations fromcolleagues or perform searches online to obtain information about one ormore restaurant or bar locations and base their decision on whether tovisit a given restaurant or bar on, at least in part, the attributes ofthe individuals that frequent such establishments. Such attributes mayinclude, but are not limited to, for example, the average age, sex,relationship status, hobbies, income level, race, national origin oreducation level of such individuals.

For example, a user using a search engine may enter a query comprisingone or more search terms describing a particular location, such as arestaurant. In response to the query, one or more results may bereturned. Included in such results may be one or more reviews of therestaurant, which contain, among other information, descriptions of theattributes of the individuals that frequent such restaurants. Forexample, one or more reviews may indicate that a given restaurant isoften frequented on Saturday evenings by “college students” or “youngadults.” Similarly, the one or more reviews may indicate that arestaurant is often frequented during weekday lunch hours by“middle-aged businessmen.” Alternatively, or in conjunction with theforegoing, a user may request information from friends, colleagues,family, etc., regarding a given location, such as a restaurant. Suchfriends, colleagues, family, etc., may provide similar information tothe user, which the user may utilize in making a decision on whether ornot to visit the restaurant, and if so, a time at which to visit therestaurant based upon such information.

Existing techniques for obtaining information regarding a givenlocation, however, do not allow a user to obtain live, current ornear-current information regarding locations and the attributes of theone or more individuals at such locations. Rather, existing techniquesrequire a user to make a decision on whether to visit a given locationbased upon historical data, such as data written in online reviews,information obtained from colleagues and friends, etc. Althoughtechniques exist that allow users to, for example, “check-in” tolocations, such information is often stale, requires that individuals atsuch locations take affirmative steps to make it known of theirwhereabouts, and/or is only available to a limited set of individuals,which often comprises a preselected set, such as users' friends.Further, such techniques fail to provide information regarding thedemographic composition of a location and instead, simply identify thelocation of one or more individuals if such users elect to identifytheir locations.

Accordingly, there is a need for systems and methods to provideinformation that is live, current or near-current regarding thedemographic composition of the one or more individuals at one or morelocations to thereby allow potential visitors, patrons, marketers, etc.,to make an informed decision on whether or not to visit such one or morelocations based on such individuals' attributes. Further, there is aneed for systems and methods to identify one or more locations at whichone or more individuals with desired attributes are currently present toassist users in determining whether to visit such locations or to selecta location that has the greatest number of individuals with one or moredesired attributes.

SUMMARY OF THE INVENTION

The present invention is directed to systems and method for generatinginformation regarding demographic composition of a location using mobiledevices associated with individuals present at the location. Accordingto one embodiment of the present invention, a method for generatinginformation regarding a current demographic composition of a locationcomprises receiving information indicating presence of one or moremobile devices at a given location, a given mobile device of the one ormore mobile devices associated with a given individual of one or moreindividuals. One or more attributes of the one or more individuals withwhich the one or more mobile devices are associated are identified, andinformation regarding demographic composition of the location isgenerated using the one or more attributes of the one or moreindividuals with which the one or more mobile devices are associated.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is illustrated in the figures of the accompanying drawingswhich are meant to be exemplary and not limiting, in which likereferences are intended to refer to like or corresponding parts, and inwhich:

FIG. 1 is a block diagram illustrating one embodiment of a system forproviding information to a user regarding the demographic composition ofone or more individuals at a given location according to one embodimentof the present invention;

FIG. 2 is a block diagram illustrating one embodiment of a system forgenerating information regarding the demographic composition of one ormore individuals at a given location according to one embodiment of thepresent invention;

FIG. 3 is a block diagram illustrating another embodiment of a systemfor generating information regarding the demographic composition of oneor more individuals at a given location according to one embodiment ofthe present invention;

FIG. 4 is a flow diagram illustrating one embodiment of a method forgenerating information regarding the demographic composition of one ormore individuals at a given location according to one embodiment of thepresent invention;

FIG. 5 is a flow diagram illustrating an alternative embodiment of amethod for generating information regarding the demographic compositionof one or more individuals at a given location according to oneembodiment of the present invention;

FIG. 6 is a flow diagram illustrating one embodiment of a method forproviding information to a user regarding the demographic composition ofone or more individuals at a given location according to one embodimentof the present invention; and

FIG. 7 is a flow diagram illustrating one embodiment of a method foridentifying one or more locations at which one or more individuals withcertain attributes are located according to one embodiment of thepresent invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following description, reference is made to the accompanyingdrawings that form a part hereof, and in which is shown by way ofillustration specific embodiments in which the invention may bepracticed. It is to be understood that other embodiments may be utilizedand structural changes may be made without departing from the scope ofthe present invention.

FIG. 1 is a block diagram illustrating one embodiment of a system forproviding information to a user regarding the demographic composition ofone or more individuals at a given location according to one embodimentof the present invention. According to the embodiment of FIG. 1, clientdevices 124, 126, and 128 are communicatively coupled to a network 122,which may include a connection to one or more local and/or wide areanetworks, such as the Internet. According to one embodiment of theinvention, a client device 124, 126, and 128 is a general purposepersonal computer comprising a processor, transient and persistentstorage devices, input/output subsystem and bus to provide acommunications path between components comprising the general purposepersonal computer. For example, a 3.5 GHz Pentium 4 personal computerwith 512 MB of RAM, 40 GB of hard drive storage space and an Ethernetinterface to a network. Other client devices are considered to fallwithin the scope of the present invention including, but not limited to,hand held devices, set top terminals, mobile handsets, PDAs, etc., andthose of skill in the art understand that such other client devices maybe configured to transmit and receive data in a variety of ways,including via wireless local/wide area network communications.

Users of client devices 124, 126, and 128 communicatively coupled to thenetwork 122 may submit search queries, comprising one or more terms, toa search provider 100. For a user of a client device may enter the query“steakhouses NYC,” requesting information regarding one or moresteakhouse restaurants in the New York City vicinity.

According to one embodiment, a search engine 102 at the search provider100 may utilize the one or more terms comprising a given query toidentify content, which is responsive to the one or more termscomprising the query. According to one embodiment, the search engine 102at the search provider 100 uses communication pathways that the network122 provides to access one or more remote 107 or local 110 content datastores to locate content that is responsive to a given query receivedfrom a user of a client device 124, 126, and 128. Local 110 and remote107 content data stores may comprise accessible memory structures suchas a database, CD-ROM, tape, digital storage library, etc., and may beimplemented as databases, file systems, or any other type of storagestructures capable of providing for the retrieval and storage of avariety of content.

According to one embodiment, remote 107 or local 110 content data storescontain demographic information regarding one or more locations 132, 134and 136. According to one embodiment, locations 132, 134 and 136comprise, for example, commercial establishments, such as restaurants,bars, clubs, bowling alleys, malls, pool halls, gyms or movie theaters.The demographic information contained in remote 107 or local 110 contentdata stores regarding locations 132, 134 and 136 includes informationregarding attributes of the one or more individual at the locations 132,134 and 136. For example, such information may comprise the age, sex,marital status, profession, race, national origin or sexual orientationof the one or more individuals currently at locations 132, 134 and 136.According to one embodiment of the invention, information regardingattributes of the one or more individuals at locations 132, 134 and 136is collected through use of mobile devices associated with the one ormore individuals, as well as mobile-detection devices, as described ingreater detail herein.

With reference to the abovementioned “steakhouses NYC” query, the searchprovider 100 may return a listing of one or more steakhouses in the NewYork City vicinity. Users of client devices 124, 126, and 128 maythereafter select a given steakhouse location 132, 134 and 136 in theNew York City vicinity that is returned in the listing. Upon selectionof a given steakhouse location 132, 134 and 136, users of client devices124, 126 and 128 may be presented with an option to obtain informationregarding attributes of the one or more individuals currently at theselected steakhouse location 132, 134 and 136. For example, users ofclient devices 124, 126 and 128 may select a given steakhouse location132, 134 and 136 and may request information regarding attributes of theone or more individuals currently at the selected steakhouse location132, 134 and 136. In response to such a request, search provider 100 mayreturn information, including the ages, sexual orientation, sex,relationship status, hobbies, race, national origin and profession, aswell as the time of entry into such steakhouse location 132, 134 and 136associated with the one or more individuals currently at the selectedsteakhouse location 132, 134 and 136. Users of client devices 124, 126and 128 may thereafter make an informed decision on whether to visitsuch steakhouse location 132, 134 and 136 based on the currentdemographic composition or whether to select a different steakhouselocation 132, 134 and 136 that has a demographic composition that ispreferable to users of client devices 124, 126 and 128.

Alternatively, or in conjunction with the foregoing, users of clientdevices 124, 126 and 128 may submit queries to the search provider 100comprising one or more desired attributes of individuals to allow thesearch engine 102 at the search provider 100 to perform a search ofremote 107 or local 110 content data stores to identify one or morelocations 132, 134 and 136 at which one or more individuals with thedesired attributes are located. For example, users of client devices124, 126 and 128 may submit a query specifying the desired attributes“female”, “age 25 to 30” and “single”. The search engine 102 maythereafter perform a search of remote 107 or local 110 data stores toidentify one or more locations 132, 134 and 136 at which individualswith attributes similar or matching “female”, “age 25 to 30” and“single” are located. A listing of such responsive locations may bepresented to the users of client devices 124, 126 and 128 to allow theusers of client devices 124, 126 and 128 to select a given location.

FIG. 2 is a block diagram illustrating one embodiment of a system forgenerating information regarding the demographic composition of one ormore individuals at a given location according to one embodiment of thepresent invention.

According to the embodiment of FIG. 2, a location 250, which maycomprise a restaurant, bar, club, gym, mall, etc., maintains equipment202 for detecting entry and exit of mobile devices 212 a, 214 a, 230 aand 232 a associated with individuals 212, 214, 230 and 232,respectively, into and out of location 250. Upon detecting entry andexit of mobile devices 212 a, 214 a, 230 a and 232 a, equipment 202 isoperative to receive information from mobile devices 212 a, 214 a, 230 aand 232 a regarding one or more attributes of the individuals 212, 214,230 and 232 with which mobile devices 212 a, 214 a, 230 a and 232 a areassociated.

For example, according to the embodiment of FIG. 2, individual 230 isassociated with mobile device 230 a. Upon entering location 250, whichmay comprise a bar, pool hall, bowling alley, restaurant, movie theatre,gym or any other type of location or establishment, equipment 202receives an indication of mobile device's 230 a entry into location.Concurrently or thereafter, equipment 202 communications with mobiledevice 230 a and receives one or more items of information from mobiledevice 230 a through use of one or more techniques, as described herein.Such information may include one or more attributes associated withindividual 230, such as age, sex, relationship status, profession,sexual orientation, race or national origin. Equipment 202 may furthergenerate a timestamp or similar time record indicating the date and timeof entry of mobile device 230 a.

Those of skill in the art recognize that various techniques andequipment may be used for detecting entry and exit of mobile devices 212a, 214 a, 230 a and 232 a associated with individuals 212, 214, 230 and232, respectively, and for performing communications between mobiledevices 212 a, 214 a, 230 a and 232 a and equipment 202 for purposes ofobtaining information, including one or more attributes of theindividuals 212, 214, 230 and 232 associated with mobile devices 212 a,214 a, 230 a and 232 a, respectively. According to one embodiment of thepresent invention, radio-frequency identification (“RFID”) is used forpurposes of communications between equipment 202 and mobile devices 212a, 214 a, 230 a and 232 a. For example, mobile devices 212 a, 214 a, 230a and 232 a may contain one or more RFID tags or labels that may be readby equipment 202, which may comprise an RFID reader. Such RFID tags orlabels in mobile devices 212 a, 214 a, 230 a and 232 a may containinformation regarding attributes of the individuals 212, 214, 230 and232 with which they are associated. Upon entry and exit of a givenindividual 230 associated with mobile device 230 a containing an RFIDtag or label which contains information regarding attributes ofindividual 230, equipment 202 may perform a read of the RFID tag orlabel to collect such attribute information.

According to another embodiment of the present invention, near fieldcommunication (“NFC”) is used for purposes of communications betweenequipment 202 and mobile devices 212 a, 214 a, 230 a and 232 a. Forexample, mobile devices 212 a, 214 a, 230 a and 232 a may contain one ormore NFC chips that may be read by equipment 202, which may comprise anNFC chip reader.

According to another embodiment of the present invention, Bluetoothand/or infrared technology may be used for purposes of communicationsbetween equipment 202 and mobile devices 212 a, 214 a, 230 a and 232 a.Those of skill in the art recognize that various techniques may be usedfor detecting the entry and exit of mobile devices 212 a, 214 a, 230 aand 232 a, and for receiving or collecting information therefromregarding attributes of the individuals 212, 214, 230 and 232 with whichmobile devices 212 a, 214 a, 230 a and 232 a are associated.

According to the embodiment of FIG. 2, equipment 202 may communicatewith one or more data stores 220, which may comprise accessible memorystructures such as a database, CD-ROM, tape, digital storage library,etc., and may be implemented as databases, file systems, or any othertype of storage structures capable of providing for the retrieval andstorage of a variety of content. Those of skill in the art understandthat communication between equipment 202 may be conducted through use ofwired or wireless communications, including via wireless local/wide areanetwork communications.

According to one embodiment of the present invention, data store 220 isoperative to maintain current information regarding the one or moreindividuals 212, 214, 230 and 232 that enter and exit location 250. Forexample, at a given time, data store 220 maintains a listing of the oneor more individuals 212, 214, 230 and 232 that are located in location250, and the attribute information as received from mobile devices 212a, 214 a, 230 a and 232 a associated with individuals 212, 214, 230 and232. As one or more individuals 212, 214, 230 and 232 enter location250, equipment 202 communicates the information received from mobiledevices 212 a, 214 a, 230 a and 232 a associated with individuals 212,214, 230 and 232 to provide data store 220 with current informationregarding the individuals 212, 214, 230 and 232 at location 250. Suchinformation is maintained in data store 220, such as in one or moretables and/or databases. A given entry in such table and/or database maybe associated with a given identifier to allow for the location,updating and/or removal of such entry through use of the identifier.

As previously described, equipment 202 is further operative to detectexit of mobile devices 212 a, 214 a, 230 a and 232 a associated withindividuals 212, 214, 230 and 232 from location 250. According to oneembodiment of the present invention, upon equipment 202 detecting exitof mobile devices 212 a, 214 a, 230 a and 232 a associated withindividuals 212, 214, 230 and 232 from location 250, equipmentcommunicates with data store 220 information indicating the one ormobile devices 212 a, 214 a, 230 a and 232 a that have exited location250. Data store 220 is thereafter updated to indicate that the one ormobile devices 212 a, 214 a, 230 a and 232 a have exited location 250.Such update may include updating the entry in the relevant tables and/ordatabases to indicate that mobile devices 212 a, 214 a, 230 a and 232 ahave exited location 250 or removing the entry in the relevant tablesand/or databases corresponding to mobile devices 212 a, 214 a, 230 a and232 a. Those of skill in the art recognize that removal of entry in therelevant tables and/or databases corresponding to mobile devices 212 a,214 a, 230 a and 232 a may protect privacy of individuals 212, 214, 230and 232 associated with mobile devices 212 a, 214 a, 230 a and 232 a. Onthe other hand, those of skill in the art recognize that not removingentries in the relevant tables and/or databases corresponding to mobiledevices 212 a, 214 a, 230 a and 232 a allows for generating historicalrecords and/or patterns of individuals 212, 214, 230 and 232 associatedwith mobile devices 212 a, 214 a, 230 a and 232 a that have visitedlocated 250. Such historical records may also prove useful to identifydemographic patterns of individuals that visit certain location 250. Forexample, such historical records may be used to generate informationindicating that location 250 is typically frequented by young, singleadults on Friday and Saturdays between the hours of 9 pm to 11 pm, andmiddle-aged males between the hours of 1 pm and 3 pm during weekdays.

The information maintained in data store 220, which comprises currentinformation associated with the one or more individuals 212, 214, 230and 232 currently located at location 250, may be delivered to a searchprovider 200 or one or more remote data stores 210, which may be incommunication with search provider 200. According to one embodiment ofthe present invention, delivery of information from data store 220 tosearch provider 200 or remote data store 210 is performed on a periodicbasis, such as every sixty seconds. According to another embodiment ofthe present invention, delivery of information from data store 220 tosearch provider 200 or remote data store 210 is performed upon equipment202 detecting entry and/or exit of mobile devices 230 a and 232 aassociated with individuals 230 and 232 entering or exiting location250. Those of skill in the art recognize that delivery of informationmay occur at other times, including at different periodic intervals,upon detecting entry and/or exit of a given threshold number of mobiledevices 212 a, 214 a, 230 a and 232 a associated with individuals 212,214, 230 and 232, at predetermined times, as requested by location 250owner or search provider 200, etc.

Users of client devices 262, 264 and 266, such as mobile devices, PCs orother client devices, communicatively coupled to a network 222, whichmay include a connection to one or more local and/or wide area networks,such as the Internet, may request information regarding location 250,such as through use of a search query entered via client devices 262,264 and 266. According to one embodiment, such request comprising asearch query may be delivered to data store 210 or search provider 200.Alternatively, or in conjunction with the foregoing, such request fromclient devices 262, 264 and 266 may be delivered to data store 220.

In response to a search request from client devices 262, 264 and 266regarding location 250, users of client devices 262, 264 and 266 arepresented with an option to receive current demographic informationregarding location 250. Such demographic information regarding location250 may comprise information regarding attributes of the one or moreindividuals 212, 214, 230 and 232 at location 250, such as age, sex,sexual orientation, profession, relationship status, race, nationalorigin or religion of the one or more individuals 212, 214, 230 and 232at location 250, as well as information regarding the time at whichindividuals 212, 214, 230 and 232 arrived at location 250. Suchinformation may be displayed in a variety of formats. For example,information regarding attributes of the one or more individuals 212,214, 230 and 232 at location 250 may displayed in an aggregate andanonymous format, such as one or more averages (e.g., the average age ofone or more individuals 212, 214, 230 and 232 at location 250).Similarly, information may be displayed as one or more graphs. Those ofskill in the art recognize the numerous ways in which informationregarding attributes of the one or more individuals 212, 214, 230 and232 at location 250 may be displayed.

FIG. 3 is a block diagram illustrating an alternative embodiment of asystem for generating information regarding the demographic compositionof one or more individuals at a given location according to oneembodiment of the present invention.

According to the embodiment of FIG. 3, one or more individuals 310 and312 may visit a given location 306, which may comprise a location suchas a bar, club, restaurant, mall, gym or other location one or moreindividuals may visit. Associated with individuals 310 and 312 aremobile devices 310 a and 312 a, respectively. Mobile devices 310 a and312 a may comprise any mobile device known in the art, such as a mobilephone, smartphone, laptop computer, tablet computer, etc. Mobile devices310 a and 312 a may contain various components or modules known in theart, such as wireless communication unit, user input unit, power supplyunit, broadcast reception unit, receiver/transceiver module, and aglobal positioning system (“GPS”) module.

The GPS module of mobile devices 310 a and 312 a may be used to generateor receive position information data from a plurality of GPS satellites332, 334 and 336. For example, GPS module of mobile devices 310 a and312 a may utilize signals from GPS satellites 332, 334 and 336 toidentify location of mobile devices 310 a and 312 a, such as through useof pinging and/or triangulation. Such location identificationinformation may include geographic coordinates of mobile devices 310 aand 312 a. Although use of GPS is discussed herein for purposes ofdetermining the location of mobile devices 310 a and 312 a, a variety ofdifferent techniques for location may be used to determine location ofmobile devices 310 a and 312 a, including, but not limited to, non-GPStriangulation, pinging, enhanced GPS (“E-GPS”), and other techniquesknown in the art for determining the location of mobile devices 310 aand 312 a and identifying geographic coordinates associated therewith.

According to the embodiment of FIG. 3, location information, such asgeographic coordinates, regarding the location of mobile devices 310 aand 312 a is delivered to base station 328, along with attributeinformation of individuals 310 and 312 with which mobile devices 310 aand 312 a are associated. Base station 328 is operative to utilize thelocation information associated with mobile devices 310 a and 312 a toidentify a corresponding commercial or similar location at which mobiledevices 310 and 312 a are located. Such identification may be performedthrough use of one or more tables or databases identifying a range ofgeographic coordinates for one or more commercial locations, such asclubs, restaurants, bars, pool halls, concert halls, gyms, bowlingalleys, etc. For example, a given restaurant, “Restaurant XYZ,” may beassociated with the geographic coordinate range latitude: 37.399107 to37.654325 longitude: 122.109976 to 122.307791. Location informationregarding the location of mobile devices 310 a and 312 a, as determinedthrough use of, for example, GPS satellites 332, 334 and 336, mayindicate that mobile device 310 a is located at latitude 37.599107 andlongitude 122.208891 and mobile device 312 a is located at latitude37.559106 and longitude 122.232891. Accordingly, base station 328identifies mobile devices 310 a and 312 a as located at Restaurant XYZ.

According to the embodiment illustrated in FIG. 3, base station maythereafter transfer, via network 322, the identified location at whichmobile devices 310 a and 312 a are located along with attributeinformation of the individuals 310 and 312 with which mobile devices 310a and 312 a are associated, to search provider 302 or one or more datastores 304 and 308. Search provider 302 and data stores are operative tomaintain one or more tables or databases of individuals 310 and 312 andrelated attribute information, as well as an indication of the locationat which mobile devices 310 a and 312 a, with which individuals 310 and312 are associated, are currently located.

The location information regarding the location of mobile devices 310 aand 312 a may be delivered periodically, such as every thirty seconds,or upon detection or generation of any new location informationregarding the location of mobile devices 310 a and 312 a, to providebase station 328, as well as search provider 302 and data stores 304 and308, with current information regarding the location of mobile devices310 a and 312 a. With reference to the above example regardingRestaurant XYZ, updated location information regarding the location ofmobile devices 310 a and 312 a may be delivered to base station 328,such as upon detection by GPS satellites 332, 334 and 336 of themovement of mobile devices 310 a and 312 a. Base station 328 maythereafter determine that mobile devices 310 a and 312 a are no longerlocated at Restaurant XYZ. According to one embodiment of the presentinvention, Base station 328 uses geographic coordinate informationassociated with mobile devices 310 a and 312 a to identify thegeographic coordinates of mobile devices 310 a and 312 a. Base station328 thereafter performs a search, such as a search of one or more tablesor databases, to determine whether the geographic coordinates associatedwith mobile devices 310 a and 312 a lie within the geographic coordinaterange for one or more locations, such as restaurants, bars, gyms, clubs,etc. If base station 328 determines that mobile devices 310 a and 312 aare no longer at Restaurant XYZ, base station 328 may thereafter providean indication that mobile devices 310 a and 312 a are no longer locatedat Restaurant XYZ to search provider 302 and data store 304 and 308 vianetwork 322. Such updated information allows search provider 302 anddata store 304 and 308 to maintain current information about thelocation of mobile devices 310 a and 312 a, as well as information aboutthe one or more individuals with which mobile devices 310 a and 312 aare associated, including attribute information of individuals 310 an312.

In a further alternative embodiment, attribute information is retrievedfrom a user profile associated with individuals 310 and 312 by searchprovider 302. According to this embodiment, location informationindicating the location at which mobile devices 310 a and 312 a arelocated, as well as one or more identifiers identifying the individuals310 and 312 with which mobile devices 310 a and 312 a are associated aredelivered to base station 328. Base station 328 thereafter delivers thelocation information indicating the location at which mobile devices 310a and 312 a are located, as well as one or more identifiers identifyingthe individuals 310 and 312 with which mobile devices 310 a and 312 aare associated to search provider 302. Search provider thereafterperforms a search to locate one or more user profiles associated withindividuals 310 and 312 through use of the one or more identifiers. Suchuser profiles may contain one or more attributes associated withindividuals 310 and 312, which may be used to update one or more tablesor databases of individuals 310 and 312 and related attributeinformation, as well as an indication of the location at which mobiledevices 310 a and 312 a with which individuals 310 and 312 areassociated are currently located.

FIG. 4 is a flow diagram illustrating one embodiment of a method forgenerating information regarding the demographic composition of one ormore individuals at a given location according to one embodiment of thepresent invention.

According to the embodiment illustrated in FIG. 4, the entry of a givenlocation, such as a restaurant, bar, club or gym, is regularly monitoredthrough use of monitoring equipment to detect the entry of one or moremobile devices associated with individuals entering the location, step402. According to one embodiment, such monitoring equipment is RFID orNFC reader equipment operative to detect an RFID tag/label or NFC chipassociated with a given mobile device, such as a mobile phone,smartphone, laptop computer, tablet computer, etc. According to anotherembodiment of the present invention, such monitoring equipment is ShortMessage Service (“SMS”) equipment operative to receive an SMS messagefrom a given mobile device indicating a given individual's preference to“opt-in” or otherwise included or excluded in the one or more devicesthat are monitored for entry with respect to the location. Such “opt-in”and “opt-out” capability allows certain individuals to choose whether ornot to be included in the demographic information generated regardingthe one or more individuals that enter the location. Other techniquesmay also be included for purposes of the “opt-in” and “opt-out”, such asdisabling certain elements of a mobile device from communication withsuch monitoring equipment.

A check is regularly performed to determine entry of one or more mobiledevices associated with one or more users into the location, step 404.If no entry of mobile devices is detected, monitoring of the entrance oflocation continues, step 402.

Upon detecting entry of a given individual through use of monitoringequipment that detects entry of the mobile device associated with theindividual, information regarding one or more attributes of theindividual associated with the mobile device is received, step 406. Suchreceipt of information may be performed through use of an RFID read oran NFC read, which may be used to receive one or more attributes of theindividual as maintained in an RFID tag/label or NFC chip in the mobiledevice associated with the individual. Such attributes may include age,sex, marital status, religion, sexual orientation, profession, educationlevel, etc.

The received attributes of an individual are thereafter delivered to adata store, 408. According to one embodiment of the present invention, aunique identifier for the individual is also delivered to the data storealong with the received attributes, wherein a unique identifiercomprises an identifier that uniquely identifies the one or moreindividuals entering the location. Such unique identifier may begenerated using a variety of data and/or techniques. For example, suchunique identifier may comprise the serial number associated with themobile device. Alternatively, or in conjunction with the preceding, theunique identifier may comprise a time stamp generated upon entry of agiven individual. Those of skill in the art recognize the numerous waysof generating an identifier for a given individual, such as through useof time stamps, hashing, etc.

The data store is thereafter updated with the attribute information ofthe individual, step 410. According to one embodiment, such updatingcomprises generating an entry in one or more tables or databases, alongwith an identifier for the individual with which such attributeinformation is associated. For example, Table 1 illustrates an exemplaryentry for a given individual that entered and/or is identified aspresent at a location.

TABLE 1 Sexual Identifier Age Sex Profession Residence OrientationSingle 019XRZ1 35 M Lawyer New York Straight N

According to the embodiment illustrated in FIG. 4, upon updating thedata store, the information maintained in the data store is delivered toone or more search providers and/or one or more remote data stores, step412. Such updating allows such search providers and/or remote datastores to provide users that are interested in visiting such locationwith current information regarding attributes of the one or more usersthat have entered such location. Such information may allow such usersto make an informed decision about whether or not to visit a givenlocation based upon such attributes. For example, a thirty-five year oldmale interested in meeting thirty to forty year old females that aresingle could determine, based upon such attribute information, one ormore locations that have the greatest number of such single females.

A check is performed to determine whether an individual that has enteredthe location has exited, step 414. According to one embodiment, thischeck is performed through use of monitoring of the exit to determinewhether the mobile device associated with the individual who has enteredthe location has exited the location. Such monitoring may be performedaccording to the same or similar techniques as described with respect tomonitoring for entry into the location, as described with respect tostep 402. For example, such monitoring may be performed by regularlymonitoring equipment to detect the exit of one or more mobile devicesassociated with individuals exiting the location. According to oneembodiment, such monitoring equipment is RFID or NFC reader equipmentoperative to detect an RFID tag/label or NFC chip associated with agiven mobile device, such as a mobile phone, smartphone, laptopcomputer, tablet computer, etc., that exits the location.

If exit of the mobile device with which the individual is associated isnot detected, the monitoring of the exit of the user continues, step416. Alternatively, if exit of the mobile device with which theindividual is associated is detected, the data store is updatedaccordingly to reflect such exit, step 418. According to one embodimentof the present invention update step 418 comprises removing the entrycorresponding to the individual from the data store. According toanother embodiment of the present invention, update step 418 comprisesindicating that the user has exited in the entry associated with theindividual maintained in the data store without deleting such entryassociated with the individual. One or more search providers or remotedata stores may thereafter be updated with such exit information, step420. Such updating allows one or more users of client devices interestedin visiting the location with current information about the attributesof the one or more individuals at the location.

FIG. 5 is a flow diagram illustrating an alternative embodiment of amethod for generating information regarding the demographic compositionof one or more individuals at a given location according to oneembodiment of the present invention.

According to the embodiment illustrated in FIG. 5, location informationfor a mobile device is received, step 502. Such location information maycomprise geographic coordinates of the mobile device obtained throughuse of GPS satellites and location modules associated with such mobiledevice. Such location information may also be obtained throughtriangulation or other techniques known in the art for identifying alocation of a mobile device.

A search is thereafter performed to identify the location to which thelocation information identified for the mobile device corresponds, step504. According to one embodiment of the present invention, a search isperformed to identify a range of geographic coordinates within whichlocation information for a given mobile device falls. For example, agiven mobile device may be associated with location informationcomprising latitude X1 and longitude Y1. Accordingly, a search may beperformed to identify a location, such as a bar, restaurant, club, etc.,in which latitude X1 and longitude Y1 may lie.

The location to which the location information identified for the mobiledevices corresponds, as well as an identifier for the mobile device, isthereafter delivered to one or more data stores, step 506. Such one ormore data stores may maintain information identifying the one or moremobile devices and individuals with which such mobile devices areassociated, as well the one or more locations at which such mobiledevices are located. Such data store may further contain attributeinformation, as described herein.

A check is thereafter performed to determine whether the mobile deviceis still at the identified location, step 508. Such check may comprisereceiving updated location information, such as geographic coordinates,for the mobile device and determining whether such updated locationinformation falls outside the identified location. For example, updatedgeographic coordinates for a given mobile device may be received and acomparison made to determine whether such geographic coordinates fallwithin or outside of the range of the geographic coordinate range forthe location at which the mobile device was identified as being located.

If the mobile device is no longer at the identified locations, the oneor more data stores maintaining information identifying the one or moremobile devices and individuals with which such mobile devices areassociated, as well the one or more locations at which such mobiledevices are located, are updated, step 512. Such updating may comprisesupplementing an entry in one or more tables or databases withinformation that a given mobile device is no longer at a given location,or removing an entry for a given mobile device that identifies themobile devices at a given location in the one or more relevant tables ordatabases.

If the mobile device is still at the identified location, the mobiledevice is continuously monitored, step 510, and processing returns tostep 508, where a check is regularly performed to determine if themobile device is still at the identified location, step 508, which, asdescribed, may comprise receiving regular updates of the geographiccoordinates of the mobile device through use of, for example, GPS and/ortriangulation. Those of skill in the art recognize that the methoddescribed with respect to FIG. 5 may be performed on one or more mobiledevices with respect to one or more locations.

FIG. 6 is a flow diagram illustrating one embodiment of a method forproviding information to a user regarding the demographic composition ofone or more individuals at a given location according to one embodimentof the present invention. According to the embodiment illustrated inFIG. 6, a request is received by a search provider from a user of aclient device for information regarding one or more locations, step 602.Such request may comprise, for example, a search query delivered to asearch provider, such as “best restaurants West Village, New York.” Inresponse to such search request, a search is performed to generate aresult set comprising one or more locations responsive to such searchrequest, step 604. Such result set may comprise, for example, one ormore restaurants in the location specified by the user, such asrestaurants in or near “West Village, New York.”

A given location is selected from among the one or more locationsidentified as responsive to the search request, step 606. A check isthereafter performed to determine whether demographic information isavailable for the selected location, step 608. For example, the locationselected in step 606 may comprise the restaurant “Restaurant ABC.” Asearch in step 608 may be performed to determine whether any demographicinformation is available for Restaurant ABC, such as informationregarding attributes of the one or more individuals currently atRestaurant ABC.

If demographic information is available for the selected location, thedemographic information is retrieved, such as from one or more datastores or search providers, step 612. Such retrieving may comprisecommunicating via a network with one or more data stores maintainingattributes of the one or more individuals at the one or more locationsresponsive to the user search query. The set of responsive content isthereafter supplemented with the demographic information, step 614,which may comprise generating an indication, in the responsive contentset to present to the user, that demographic information is availablefor the location. For example, the responsive content to be presented tothe user may be supplemented with a hyperlink or icon indicating thatdemographic information is available for the location, and allowing theuser to select the hyperlink or icon to obtain such demographicinformation.

After supplementing the selected location with demographic informationstep 214, or if no demographic information is available for the selectedlocation, a check is performed to determine whether any additionallocations require analysis from the one or more locations comprising theresult set responsive to the search request, step 610. If one or moreadditional locations in the result set require analysis, a next locationis selected, step 606. If no additional locations require analysis, theset of one or more locations, along with demographic content, ifavailable, is displayed to the user, step 616. Such displaying maycomprise displaying a variety of formats, including one or moresummaries, graphs, tables, charts, maps, etc. Such information allowsthe user with which the search query originated to make a determinationof whether to visit the one or more locations responsive to the user'ssearch query based upon the attributes of the one or more individuals atthe one or more locations.

FIG. 7 is a flow diagram illustrating one embodiment of a method foridentifying one or more locations at which one or more individuals withcertain desired attributes are located according to one embodiment ofthe present invention.

According to the embodiment illustrated in FIG. 7, a request for one ormore locations in a given geographic area at which one or moreindividuals with one or more desired attributes are currently located isreceived by a search provider, step 702. For example, such a request maycomprise a request for one or more locations in the East Village of NewYork City at which one or more females, aged twenty-five to thirty whoare single are located. Similarly, such a request may comprise a requestfor one or more locations in the West Village of New York City at whichone or more heterosexual males, residing in New York, that are betweenthe ages of forty and fifty and are lawyers are located.

A search is performed of one or more data stores to identify one or morelocations within the specified geographic area, step 704. For example, asearch may be performed to identify the one or more bars in the EastVillage of New York City within the specified geographic region. A givenlocation from the one or more locations is selected, step 706, and acheck is performed to determine whether one or more individuals with thespecified attributes are at the selected location, step 708. Suchsearching may be performed, for example, by a search provider or searchengine, and may be performed of one or more tables or databasesmaintaining information regarding attributes of the one or moreindividuals at one or more locations.

For example, a given bar, such as “Bar XYZ,” may be selected from theone or more locations, and with reference to the abovementioned example,a check may be performed to determine whether there are currently anyfemales, aged twenty-five to thirty who are located Bar XYZ. If theselected location has one or more individuals with the desiredattributes, the result set for display to the user with which therequest originated is supplemented with the selected location, step 712.

If there are no individuals with the desired attributes at the selectedlocation, or after supplementing the result set for display to the user,a check is performed to determine whether any additional locations arein the responsive location set, step 710. If one or more additionallocations in the responsive location set require analysis, a nextlocation is selected, step 706. If no additional locations requireanalysis, the one or more locations at which one or more individualswith the specified attributes are currently located are displayed to theuser with which the request originated, step 714. Such display maycomprise a variety of formats and orderings, such as ordering based uponthe number of individuals with the desired attributes at the one or morelocations, a map format, etc. Such display may also comprise presentingone or more filters, such as filtering according to smaller geographicregion or zip code. According to another embodiment, such filteringcomprises filtering according to one or more further desired attributes.

According to a further embodiment of the present invention, the systemsand methods described herein may also be used to generate one or morealerts of locations or areas at which one or more individuals withattributes desired by the user are currently located. For example, auser of a mobile device may identify particular attributes that aredesired by the user, such as “single,” “female,” and “age 23-28.” Suchdesired attributes may be stored in the user's mobile device and/or aprofile associated with the user. According to one embodiment, if theuser is within a given proximity of one or more locations at which oneor more individuals with attributes desired by the user are currentlylocated, the user will receive an alert, such as an SMS message listingthe one or more locations, an indication on a map highlighting orotherwise identifying the locations, etc. Such alerts may be generatedby comparing the geographic coordinates of the mobile device associatedwith the user's mobile device and the coordinates of one or more nearbylocations, and thereafter filtering the one or more identified nearbylocations at which one or more individuals with attributes desired bythe user are currently located through use of the systems and methodsdescribed herein. According to another embodiment, a user may preselectparticular geographic regions for which the user wishes to receivealerts, in which case such alerts may be generated upon determining thatthere are one or more individuals with the desired attributes specifiedby the user at one or more locations within the geographic regionspreselected by the user. Those of skill in the art recognize thatalternate techniques may be used for generating alerts of locations atwhich one or more individuals with desired attributes are currentlylocated through use of the systems and methods described herein.

FIGS. 1 through 7 are conceptual illustrations allowing for anexplanation of the present invention. It should be understood thatvarious aspects of the embodiments of the present invention could beimplemented in hardware, firmware, software, or combinations thereof. Insuch embodiments, the various components and/or steps would beimplemented in hardware, firmware, and/or software to perform thefunctions of the present invention. That is, the same piece of hardware,firmware, or module of software could perform one or more of theillustrated blocks (e.g., components or steps).

In software implementations, computer software (e.g., programs or otherinstructions) and/or data is stored on a machine readable medium as partof a computer program product, and is loaded into a computer system orother device or machine via a removable storage drive, hard drive, orcommunications interface. Computer programs (also called computercontrol logic or computer readable program code) are stored in a mainand/or secondary memory, and executed by one or more processors(controllers, or the like) to cause the one or more processors toperform the functions of the invention as described herein. In thisdocument, the terms “machine readable medium,” “computer program medium”and “computer usable medium” are used to generally refer to media suchas a random access memory (RAM); a read only memory (ROM); a removablestorage unit (e.g., a magnetic or optical disc, flash memory device, orthe like); a hard disk; electronic, electromagnetic, optical,acoustical, or other form of propagated signals (e.g., carrier waves,infrared signals, digital signals, etc.); or the like.

Notably, the figures and examples above are not meant to limit the scopeof the present invention to a single embodiment, as other embodimentsare possible by way of interchange of some or all of the described orillustrated elements. Moreover, where certain elements of the presentinvention can be partially or fully implemented using known components,only those portions of such known components that are necessary for anunderstanding of the present invention are described, and detaileddescriptions of other portions of such known components are omitted soas not to obscure the invention. In the present specification, anembodiment showing a singular component should not necessarily belimited to other embodiments including a plurality of the samecomponent, and vice-versa, unless explicitly stated otherwise herein.Moreover, applicants do not intend for any term in the specification orclaims to be ascribed an uncommon or special meaning unless explicitlyset forth as such. Further, the present invention encompasses presentand future known equivalents to the known components referred to hereinby way of illustration. For example, it will be apparent to thoseskilled in the art that various modifications may be made in the presentinvention without departing from the spirit or scope of the invention.Such modifications may include using the systems and methods disclosedherein for uses other than commercial locations, such as parks, schools,concerts, neighborhoods and other areas where one or more individualsmay enter and exit. Further, such modification s may include equipmentand related technology for collecting attributes of individuals andallow individuals to choose not to participate or permit collection ofsuch individuals' information through use of such equipment. Thus it isintended that the present invention cover the modifications andvariations of this invention provided they come within the scope of theappended claims and their equivalents.

The foregoing description of the specific embodiments will so fullyreveal the general nature of the invention that others can, by applyingknowledge within the skill of the relevant art(s) (including thecontents of the documents cited and incorporated by reference herein),readily modify and/or adapt for various applications such specificembodiments, without undue experimentation, without departing from thegeneral concept of the present invention. Such adaptations andmodifications are therefore intended to be within the meaning and rangeof equivalents of the disclosed embodiments, based on the teaching andguidance presented herein. It is to be understood that the phraseologyor terminology herein is for the purpose of description and not oflimitation, such that the terminology or phraseology of the presentspecification is to be interpreted by the skilled artisan in light ofthe teachings and guidance presented herein, in combination with theknowledge of one skilled in the relevant art(s).

While various embodiments of the present invention have been describedabove, it should be understood that they have been presented by way ofexample, and not limitation. It would be apparent to one skilled in therelevant art(s) that various changes in form and detail could be madetherein without departing from the spirit and scope of the invention.Thus, the present invention should not be limited by any of theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A system for identifying demographic compositioninformation of one or more commercial establishments having preexistingboundaries, the system comprising: a presence monitor receivinginformation associated with a plurality of mobile devices, each mobiledevice of a given user, wherein the presence monitor determines presenceof the plurality of users at one or more commercial establishments byperforming a comparison of the geographic coordinates of the mobiledevices of the users with the geographic coordinates of one or morecommercial establishments, each commercial establishment havingpreexisting boundaries; and a demographic composition generator incommunication with the presence monitor, wherein the demographiccomposition generator: (i) receives a profile for each user determinedto be present at a given commercial establishment by the presencemonitor, each profile including a plurality of attributes for a givenuser; (ii) generates demographic composition information for thecommercial establishment, the demographic composition informationcomprising a summary of the attributes of the users determined to bepresent at the commercial establishment, and (iii) generates a recordlinking the demographic composition information with the commercialestablishment.
 2. The system of claim 1 further comprising a searchmodule in communication with the demographic composition generator,wherein the search module: (i) receives a query identifying one or moredesired attributes; (ii) performs a search of the one or more recordsgenerated by the demographic composition generator to identify one ormore commercial establishments having demographic compositioninformation matching the received query; and (iii) generates a resultset comprising the one or more identified commercial establishmentshaving demographic composition information matching the received query.3. System of claim 2, further comprising a filtering module to filer theresult set, wherein the filtering module filters the result set by oneor more filters.
 4. System of claim 3, wherein a filter comprises ageographic region.
 5. System of claim 3, wherein a filter comprises oneor more attributes in addition to the one or more desired attributesreceived with the query.
 6. System of claim 2, further comprising amapping module, wherein the mapping module: (i) receives the result set;(ii) displays the one or more identified commercial establishments on amap.
 7. The system of claim 1, further comprising an absence monitor,wherein the absence monitor determines absence of a given of user from acommercial establishment at a time after the presence monitor hasdetermined presence of the user at the commercial establishment bydetermining that the geographic coordinates of the mobile device of theuser are outside the preexisting boundaries of the commercialestablishment.
 8. The system of claim 7, wherein the demographiccomposition generator, upon receipt of information from the absencemonitor indicating absence of a given of user from the commercialestablishment, generates revised demographic composition information forthe commercial establishment, the revised demographic compositioninformation comprising a summary of the attributes of the usersdetermined to be present at the commercial establishment, and excludingfrom the summary the attributes of the user determined to be absent fromthe commercial establishment by the absence monitor.
 9. A system forgenerating demographic composition information comprising one or moresummaries of attributes of at least two or more individuals at acommercial establishment, the system comprising: a presence monitor,wherein the presence monitor: (i) determines presence information, usinggeographic coordinates associated with one or more mobile devices of oneor more users, said presence information indicating presence of one ormore users at a given commercial establishment having preexistingboundaries by determining that the geographic coordinates associatedwith the one or more mobile devices of the users are within thepreexisting boundaries of the commercial establishment; (ii) updates oneor more data stores with said presence information; an absence monitor,wherein the absence monitor: (i) determines absence information, usinggeographic coordinates associated with the one or more mobile devices ofthe one or more users, said absence information indicating absence ofone or more of the one or more users from the commercial establishmenthaving preexisting boundaries, by determining that the geographiccoordinates of the one or more mobile devices of the users are outsidethe preexisting boundaries of the commercial establishment; and (ii)updates the one or more data stores with said absence information; ademographic composition generator, wherein the demographic compositiongenerator generates information comprising one or more summaries ofattributes of at least two or more individuals at the commercialestablishment using one or more attributes of the one or moreindividuals determined to be present at the commercial establishment.10. The system of claim 9 further comprising a search engine.
 11. Thesystem of claim 10 wherein the search engine retrieves a profile of auser located external to the commercial establishment, and generates anotification for delivery to the user upon determining a match existsbetween one or desired more attributes identified in the profile of theuser and the one or more summaries of attributes of at least two or moreindividuals at the commercial establishment.
 12. The system of claim 10wherein the search engine: (i) receives a request identifying one ormore desired attributes; (ii) performs a comparison of the one or moredesired attributes and the one or more summaries of attributes of atleast two or more individuals at the commercial establishment; and (iii)determines whether a match exists between the one or desired moreattributes identified in the profile and the one or more summaries ofattributes of at least two or more individuals at the commercialestablishment.
 13. The system of claim 12 wherein the search enginegenerates an alert upon determining a match exists between the one ordesired attributes identified in the profile and the one or moresummaries of attributes of at least two or more individuals at thecommercial establishment.
 14. The system of claim 13 wherein the alertcomprises displaying the commercial establishment on a map.
 15. Thesystem of claim 13 wherein the alert comprises delivering an alert to amobile device associated with a user with which the request originated.